package cn.johnyu.client;

import cn.johnyu.server.LoginServer;

import java.util.Hashtable;
import java.util.Map;

public class ChatRoom {
    //聊天室： key=用户名，value=Client<Socket>
    private static Map<String,Client> clients=new Hashtable<>();

    //处理当： 用户进入聊天室，本功能由Client的run()方法调用
    //实现过程： 利用LoginServer的check 判断token是否存在，如存在将client放入聊天室
    public static String active(String token,Client client){
        String name = LoginServer.check(token);
        if(name!=null){
            clients.put(name,client);
        }
        return name;
    }
    //根据名字，在聊天室查Client(在私聊中chat使用)
    public static Client select(String name){
        return clients.get(name);
    }

    //返回聊天室的信息，当用户输入为"health"
    public static String health(){
        StringBuilder builder=new StringBuilder();
        clients.forEach((name,client)->{
            builder.append(name+"\n");
        });
        return builder.toString();
    }

    //处理离开聊天室的功能
    public static void bye(String name){
        clients.remove(name);
    }
}
